home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / cenvid / reboot_2.bat < prev    next >
DOS Batch File  |  1995-07-24  |  2KB  |  51 lines

  1. @echo off
  2. REM ****************************************************************
  3. REM *** Reboot_2.bat - Reboot computer by jumping to BIOS reboot ***
  4. REM *** ver.2          routine.  This is an example of the CEnviD ***
  5. REM ***                asm() function.  To provide protection    ***
  6. REM ***                from accidentaly rebooting, you must      ***
  7. REM ***                enter PLEASE as the first parameter.      ***
  8. REM ****************************************************************
  9.  
  10.  
  11. REM **************************************************************
  12. REM *** Check that "PLEASE" is the first parameter.  CEnviD     ***
  13. REM *** return errorlevel if it is not please.                 ***
  14. REM **************************************************************
  15. CEnviD return( strcmpi("%1","Please") ? 1 : 0 )
  16. if errorlevel 1 GOTO PLEASE
  17.  
  18. REM *************************************************
  19. REM *** Set warm boot flag to avoid memory tests  ***
  20. REM *** for warm boot you would set this to 0x472 ***
  21. REM *************************************************
  22. REM CEnviD poke(0x472,0x1234,UWORD16);  // warm boot
  23. CEnviD poke(0,0x1234,UWORD16);  // cold boot
  24.  
  25. REM *********************************************************
  26. REM *** Call Dos disk reset to make smartdrive 4.x flush. ***
  27. REM *** If you're not using this smartdrive then the      ***
  28. REM *** following lines aren't needed.                    ***
  29. REM *********************************************************
  30. CEnviD reg.ah = 0x0D; interrupt(0x21,reg);
  31.  
  32. REM **********************************************************
  33. REM *** Set ctrl-alt-del scan code for EMM386 to shut down ***
  34. REM *** If not using EMM386 then this is not needed.       ***
  35. REM **********************************************************
  36. CEnviD "poke(0x417,peek(0x417)|0x0C); reg.ax=0x4F53; interrupt(0x15,reg);"
  37.  
  38. REM **************************************************************
  39. REM *** A routine for rebooting is in the BIOS at location     ***
  40. REM *** FFFF:0000.  To reboot, will use the CEnviD asm()        ***
  41. REM *** to execute the machine code: JMPF FFFF:0000, which in  ***
  42. REM *** machine code is the byte sequence EA 00 00 FF FF.      ***
  43. REM **************************************************************
  44. CEnviD asm('\xEA\x00\x00\xFF\xFF');
  45.  
  46. :CENVI_EXIT
  47.  
  48. :PLEASE
  49. ECHO Reboot_2.bat will reboot your computer.  To execute Reboot.bat you
  50. ECHO must enter: REBOOT_2 PLEASE
  51.